package com.link.base.base.contract.service;

import com.link.base.base.approval.model.Flow;
import com.link.base.base.contract.model.ModContract;
import com.link.core.basic.service.BasicService;

import java.util.List;

/**
 * 价格模具合同
 *
 * @author 阳晓琳
 * @date 2020-10-13 14:08:15
 */
public interface  ModContractService extends BasicService<ModContract> {

    /**
     * 价格模具合同状态设为失效
     * @author 王昊
     * @param entity
     */
    void unactiveContract(ModContract entity) throws Exception;

    /**
     * 价格模具合同提交审批
     * @author 王昊
     * @param entity
     * @throws Exception
     */
    void priceModSubmit(ModContract entity) throws Exception;

    /**
     * 同意审批
     * @author 王昊
     * @param flow
     * @param arg1
     * @param arg2
     * @param arg3
     * @param arg4
     * @param arg5
     * @throws Exception
     */
    public void agreeApproval(Flow flow, String arg1, String arg2, String arg3, String arg4, String arg5) throws Exception;

    /**
     * 根据价格合同ID，查找本价格合同的所有订单合同的所有项目ID
     * @param querPri
     * @return
     */
    List<ModContract> queryProjectIds(ModContract querPri);

    /**
     * 变更合同状态为新建
     * @param entity
     * @throws Exception
     */
    void changeContractStatusToNew(ModContract entity) throws Exception;
}
